package tspda

import glory.xxd.Utils
import tsCIM.ResultCode
import tsCIM.modelForInterface.Header
import tsCIM.modelForInterface.RequestModel
import tsCIM.modelForInterface.ResultModel
import tsCIM.modelForInterface.Return

class PDAProcessStartRequestController {

    def commentService

    def index() {
        def result = ResultModel.getResultModel()
        try {

            //只用   PDAProcessStartRequest 参数接收 json 字符串
            def PDAProcessStartRequest = Utils.parseStr2Json(params?.PDAProcessStartRequest)
            def MACHINENAME = params.MACHINENAME ?: ""

            Header header = new Header(TRANSACTIONID: Utils.getUUID(), MESSAGENAME: "PDAProcessStartRequest", MACHINENAME: MACHINENAME)
            Return aReturn = new Return()
            RequestModel requestModel = new RequestModel(header: header, body: PDAProcessStartRequest, aReturn: aReturn)
//            result = commentService.getJsonByTopic2Queue(requestModel,"sendmqname","returnmqname",true,responseXml)
            result = commentService.getJsonByTopic2Queue(requestModel, "jms.topic.PDA.TO.CIM", "jms.queue.CIM.PDA.Send", false, false)
        } catch (Exception e) {
            result.put(ResultModel.ServerErrorFlag, true)
            result.put(ResultModel.Code, ResultCode.SERVER_INTERFACE_ERROR.code)
            result.put(ResultModel.Msg, ResultCode.SERVER_INTERFACE_ERROR.msg)
            result.put(ResultModel.Data, e.getMessage())
        } finally {
            render Utils.getFormatString(result)
        }
    }

    def responseXml = """
<MESSAGE>
<HEADER>
  <TRANSACTIONID>8a5694af-bcde-431d-b50b-dd29f5a72bd9</TRANSACTIONID>
  <MESSAGENAME>PDAMessageResponse</MESSAGENAME>
  <MACHINENAME>WM-2112</MACHINENAME>
  <WORKNO>1</WORKNO>
  <EVENTUSER>CIM</EVENTUSER>
  <EVENTTIME>2019-03-14 16:37:35.208</EVENTTIME>
</HEADER>
<BODY>
  <EQPID>DB-447</EQPID>
  <MESSAGETYPE>Info</MESSAGETYPE>
</BODY>
<RETURN>
  <RETURNCODE>0</RETURNCODE>
  <RETURNMESSAGE>开始作业成功</RETURNMESSAGE>
</RETURN>
</MESSAGE>
"""
}
